package com.woniuxy.store.core.service.impl;

import com.woniuxy.store.core.mapper.MdStoreMapper;
import com.woniuxy.store.core.mapper.MdStorethirdMapper;
import com.woniuxy.store.core.model.MdStoresecond;
import com.woniuxy.store.core.mapper.MdStoresecondMapper;
import com.woniuxy.store.core.model.MdStorethird;
import com.woniuxy.store.core.service.MdStoresecondService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.woniuxy.store.core.vo.MdStoreVo;
import com.woniuxy.store.core.vo.MdStoresecondVo;
import com.woniuxy.store.core.vo.MdStorethirdVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.ArrayList;
import java.util.List;

/**
 * <p>
 *  服务实现类
 * </p>
 *
 * @author gmx
 * @since 2021-06-29
 */
@Service
public class MdStoresecondServiceImpl extends ServiceImpl<MdStoresecondMapper, MdStoresecond> implements MdStoresecondService {

    @Autowired(required = false)
    MdStoresecondMapper mdStoresecondMapper;

    @Autowired(required = false)
    MdStorethirdMapper mdStorethirdMapper;

    @Override
    public void insertOne(MdStoresecond mdStoresecond) {
        mdStoresecondMapper.insert(mdStoresecond);
    }

    @Override
    public void delectOne(int secondId) {
        mdStoresecondMapper.delectOne(secondId);
    }

    //根据一级id查二级列表
    @Override
    public List<MdStoresecondVo> listsecondvo(int firstId, int storeId) {
        List<MdStoresecond> listsecond= mdStoresecondMapper.getSecond(firstId,storeId);
        List<MdStoresecondVo> listsecondvo=new ArrayList<>();

        for (int i=0;i<listsecond.size();i++){
            MdStoresecondVo mdStoresecondVo=new MdStoresecondVo();
            MdStoresecond mdStoresecond=listsecond.get(i);
            int secondId=mdStoresecond.getSecondId();
            List<MdStorethirdVo> listthirdvo=mdStorethirdMapper.getThird(secondId,storeId);
            if (listthirdvo.size()!=0){
            mdStoresecondVo.setList(listthirdvo);}
            mdStoresecondVo.setMdStoresecond(mdStoresecond);
            listsecondvo.add(mdStoresecondVo);
        }
        return listsecondvo;
    }
}
